1. Field of the Invention
The present invention generally relates to the fields of Artificial Intelligence (AI), Data Mining (DM), and Knowledge Discovery in Databases (KDD), Business Intelligence (BI), and Fuzzy Logic Expert Systems. More specifically the present invention relates to automating creation of Neuro-Fuzzy Expert Systems.
2. Description of Related Art
In the current knowledge economy mountains of data are getting accumulated in various Databases scattered around the enterprise. But the key to gaining competitive advantage lies in deriving insight and intelligence from this data. The amount of data that requires processing and analysis in a large Database exceeds human analytical capabilities, and the difficulty of accurately transforming relational data into useful information, i.e. knowledge, surpasses the limits of traditional Databases and online analytical processing (OLAP) tools.
Therefore, the full utilization of stored data depends on the use of Knowledge Discovery techniques. Knowledge Discovery is a non-trivial extraction of implicit, unknown, and potentially useful information (such as logic rules, constraints, and regularities) from data. The explosive growth in data and Databases used in business management, government administration, and scientific Data Analysis has created a need for tools that can Automatically transform the data into useful information and knowledge.
One such information retrieval technique—Online Analytical Processing (OLAP) became increasingly popular. However, the combination of OLAP Cube's Dimensions and Measures provides a significant amount of precise data which often times obscures its meaning. OLAP requires a lot of time from trained analytical personnel, and it is because of this required investment of time that many times forces organizations to abandon their investments into Business Intelligence tools. A quote from L. Zadeh captures this tradeoff between producing data and gaining knowledge: “As complexity rises, precise statements lose meaning and meaningful statements lose precision.”
Various Expert Systems meant to deal with the “precision vs. meaning” dilemma by automating Data Analysis. Boolean logic based Expert Systems are open to programmatic implementations, but they do not reflect uncertainty and imprecision of the natural environment forcing industries to create simplified models of business procedures and production processes. Fuzzy Logic Expert Systems while allowing to “program with words” (L. Zadeh) (e.g. “IF VoucherAge IS Current AND Discount IS High THEN PayDate is Later”) still suffer from the main problem of any Expert System—dependency on a Rule Base which is not always possible for an expert to formulate (e.g. automobile driving).
Neural networks do not require a Rule Base; they are universal model-free process approximators. However, they are ‘black boxes’ and it is impossible to extract knowledge and useful information from a Neural Network.
Therefore, a need exists to create a Hybrid Expert System. Neural networks and Fuzzy Logic Expert Systems share the common ability to deal with difficulties arising from uncertainty, imprecision, and noise in the natural environment. Fuzzy Logic Expert System implemented as a Neural Network derives its Rule Base from data. The Rule Base inferred by the process of Neural Network Training represents the new knowledge. Neural network allows for the system learning and noise tolerance. Fuzzy Logic provides for the Neural Network's manageable structure and eliminates opacity of its Internal Layers. In addition, a Hybrid Neuro-Fuzzy Expert System allows infusing of high level thinking into Neural Networks by Manually entering some expert rules.
One problem with the existing software implementations of the Neuro-Fuzzy Expert Systems is that such systems are usually created to solve one particular problem or to approximate or control one specific process. The structure and parameters of such neuro-fuzzy system have to be redefined to work with another problem Domain.
Another problem is that existing software implementations of the neuro-fuzzy systems lack intuitive user Interface which would provide for easy (wizard-like) creation of an Expert System allowing quickly creating and testing multiple versions of the same process approximators to find the best approach.
Yet another problem with the neuro-fuzzy systems is that structure and parameters of such systems are designed to solve one type of problem, for example Function Approximation, and not another, for example Fuzzy Logic Controller or Classifier.
Yet another problem is that many software implementations of the neuro-fuzzy systems do not provide for automatic structure and parameter generation solely from sample data.
Yet another problem is that existing neuro-fuzzy software tools do not Interface with various types of data (e.g. text files, spreadsheets, relational Databases, OLAP Cubes).
Yet another problem with the existing neuro-fuzzy software tools is that they cannot Dynamically interact with OLAP Cubes. A lot of effort went into design and population of OLAP Cubes for different industries. OLAP Cubes incorporate results of business understanding, data understanding, and data preparation, which are crucial steps of the Knowledge Discovery process (see CRISP-DM process description at www.crisp-dm.org). Returns on investments into the Cubes creation could have been significantly higher if the unwieldy Cubes were analyzed Automatically by a neuro-fuzzy software tool.
Yet another problem with the current neuro-fuzzy software tools is lack of illustrative decision support presentation tools (e.g. Graphic models, Bubble Charts, Graphs, etc.).
Yet another problem is that many parameters of the existing neuro-fuzzy software tools require manual adjustment, which can be performed only by an expert in both the software tool and the problem Domain.
Yet another problem with some software implementations of Neuro-Fuzzy Expert Systems is lack of tunable parameters (e.g. at the input Term Sets Integration, output Term Sets Aggregation, or Defuzzification stages), which makes it difficult to approximate underlying process.
Yet another problem is that most of the implementations require an expert to define Term Sets on Input and Output Variables' universes of discourse.